B0929057
一、ITS Exp. 3: ARP位址解析協定---without MDDL
這次用到的網路拓樸
A 狀態設定,開啟XClient
Step1 設定Network Configuration如下
完成後按下Set/Close儲存
B 發出ARP詢問搭檔
Step2 勾選Listening On、勾選監聽層級
確認Interface Frames有打勾就可以關掉了
Step3 開啟Send Interface Frame
Step4 開啟New Memorized Message Brower,設定Msg Sender
- ARP格式參照圖片,他是一行一行由左而右、由上而下閱讀
- 注意: Sender HA(Mac Address)跟Sender IP要依照自己的電腦。
- 注意bit vs octets(byte) 的單位差
- 逐一解析:
- Hardware Type = 實體層乙太網路 = 0001
- Protocol Type = IP protocol = 0800
- HLen(Hardware Length) = 乙太網路位址長度 = 6byte = 06
- PLen(Protocol Length) = 協定位址長度 = IPv4 = 4byte = 04
- Operation = 操作類型 = ARP詢問(request) = 00 01 ,我們這次的只會用到詢問,如果是回復(reply)則改為00 02
- Sender HA(Hardware Address,即Mac Address,octets0~5一起看,藍色大括號) = 00 09 11 06 11 11
- octects 是8位元組(8 bits = byte)的意思
- Sender IP(octets0~3一起看,棕色大括號) = 192.168.1.1 (尾數代表是第幾台電腦,我的是第一台,其他的依照拓樸遞增) = C0 A8 01 01(要轉為16進制)
- Target HA(目標位置Mac Address,octets 0~5一起看,綠色括號,因為ARP初始都不知道target Addre,所以設0) = 00 00 00 00 00 00
- Target IP(目標位置IP) = 第一台問第二台 = C0 A8 01 02(尾數比剛剛+1,代表拓樸第二台)
C 驗收1 : 未載入MDDL,手動發送ARP request,並展示收到的response
發送端
二、ITS Exp. 3: ARP位址解析協定---使用MDDL發送與接收ARP
A 載入ArpServer.mddl
step1 MDDL Reactor Panel
他是上方工具列最右邊的Mddl...,他不是另一個軟體喔!
step2 按下Load,開啟路徑如下的程式(C:\X\Tutorial\Ex03),並按Upld(Upload)載入ITS
- 記得把最後一行"Disable"註解掉(雙斜線,'//',跟C++一樣),因為它會影響到msg的收發
step3 再度發送一次ARP request(這也是驗收二)
B 載入ArpRequest.mddl
在request端將剛剛相同路徑的檔案載入
C 觀察PC上的ARP Table
step1 先將原本電腦的IP拍起來
從乙太網路->內容->網際網路協定第4版(TCP/IP)中可以看到自己電腦的IP
- 自己原本電腦的IP
step2 將電腦主機的網路線拔掉,改與ITS以網路線相連(這時會沒有網路)
step3 改IP為下圖
step4 到cmd依序輸入指令
- arp -a => (查看ARP Table),初始為空
- ping
ITS IP Address
=> Ex: Ping 192.168.1.1,會出現4次成功reply
- arp -a => 出現成功的reply所對應的ITS IP
此圖為驗收4(3為結報題目,故無圖)
三、ITS Exp. 4: ICMP網控訊息協定與Checksum計算
A 從PC上觀察ICMP
step1 將IP Address改為192.168.1.101
step2 設定如Exp3前述,記得路徑要改為"Exp4"再Upld
step3 輸入pingITS IP Address
(Ex Ping 192.168.1.1)
step4 開啟Send -> IP Datagram and Sender,修改如下
mddl接收傳送(0100的one's complement,所以Data訊息欄要打"F7FF")
step5 過濾訊息設定(不然訊息會很嘈雜)
- Network Msg Browser->按Option->選擇欲過濾的條件(這裡是選Protocol=1,即ICMP),並按下"雙箭頭回收"的按鈕新增條件
驗收1 & 2: ICMP ping & full.mddl
- 可以由Data的地方觀察到,開頭的4位都是每兩個都是一組一組的
- 0000(request)->0800(reply)循環
四、ITS Exp. 4 結報需要的圖片
1 checksum錯誤
3A 傳給同個網域但沒有人使用
- 把Dest IP最後一位改為無人使用的號碼(Ex: 10)
3B不同網域
- 把Dest IP倒數第二位改為其他網域(Ex: 3)
3C50 protocol
- 把編號9 Protocol的地方下拉式選單改為User Defined,並且設為50
五、參考資料
- ITS Experiment手冊